/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package controlador;

import entidade.Administrador;
import entidade.Aluno;
import facade.AdministradorFacade;
import facade.AlunoFacade;
import java.io.Serializable;
import java.security.Principal;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

/**
 *
 * @author master
 */
@ManagedBean(name = "loginController")
@SessionScoped
public class LoginController implements Serializable {

    private Aluno alunoLogin = null;
    private Administrador administradorLogin = null;
    @EJB
    private facade.AlunoFacade ejbFacade;
    @EJB
    private AdministradorFacade administradorFacade;

    public AlunoFacade getEjbFacade() {
        return ejbFacade;
    }

    public String verificarAcesso(){
        retornarUsuario();
        
        if(alunoLogin != null)
            return "aluno";
        else
            return "administrador";
                    
    }
    public void retornarUsuario() {
        Principal login = FacesContext.getCurrentInstance().getExternalContext().getUserPrincipal();        
        
        if(ejbFacade.retornarAluno(login.getName()) != null)
           alunoLogin = ejbFacade.retornarAluno(login.getName());
        else
           administradorLogin = administradorFacade.retornarAdministrador(login.getName());
        
    }

    public void setEjbFacade(AlunoFacade ejbFacade) {
        this.ejbFacade = ejbFacade;
    }

    public Aluno getAlunoLogin() {
        return alunoLogin;
    }

    public void setAlunoLogin(Aluno login) {
        this.alunoLogin = login;
    }

    public Administrador getAdministradorLogin() {
        return administradorLogin;
    }

    public void setAdministradorLogin(Administrador administradorLogin) {
        this.administradorLogin = administradorLogin;
    }
}
